1. Field of the Invention
The present invention relates to the field of wireless communications. More specifically, the present invention relates to providing an interface between legacy applications and the protocol associated with a wireless communication network. Moreover, the present invention relates to a hardware and software interface between legacy applications and the Bluetooth communication standard.
2. Related Art
Wireless communication technologies allow for the replacement of the many cables that connect one physical device to another physical device with a wireless communication link. For example, printers, personal digital assistants (PDAs) or handheld computers, personal desktop computers, fax machines, keyboards, joysticks and virtually any other digital device can be coupled together as part of a wireless communication network.
The wireless communication network provides a universal bridge to data networks, a peripheral interface, and a mechanism to form small private ad hoc groupings of connected devices away from fixed network infrastructures. In other words, instead of transferring data over physical cable connections, data is transferred over the wireless communication network.
However, software applications written before the advent of any wireless communication standard may not be compatible with the protocol associated with the wireless communication standard. These applications that are not compatible are referred to as legacy software applications. As such, outgoing data from legacy software applications cannot be transferred across the wireless communication network. At the very least, the data transferred over the wireless communication network will arrive in a format that is incompatible with the receiving device and cannot be read or understood by the legacy application.
Additionally, incoming data that is in a format associated with a protocol of the wireless communication network will not be compatible with the legacy software application. As such, the legacy software application will not be able to read or understand the incoming data.
Furthermore, serial communication ports previously were used to make a wired serial connection. The serial communication port was associated with a remotely located hardware device that could perform a single function or multiple functions. In other words, a piece of hardware that promoted serial communication would be associated with or configured to a single communication port. There would be a one-to-one relationship between the remotely located hardware device and the serial communication port.
In a wireless communication network, devices that are associated with the network at one moment may not be associated with the network at another moment. The devices have the capability to roam between different wireless communication networks, or may just roam out the range of the wireless communication network. If a serial communication port on a local device were associated with a remote device that had roamed out of the wireless network, then the serial communication port would be rendered useless.
Furthermore, when a local electronic device containing the legacy serial application is booting up its operating system, the remote device associated with the serial communication port may not be connected to the local electronic device. As such, the serial port would not be initialized or recognized by the operating system of the local device. This one-to-one relationship would severely limit the performance of an local electronic device that could be coupled to multiple devices over a wireless communication network.
Thus, a need exists for an apparatus and method for ensuring legacy application compatibility with a protocol or standard that is associated with a wireless communication network. Another need exists for an apparatus and method that meets the above need and which provides for a communication port that allows for the roaming of remote devices.
The present invention provides an apparatus and method for providing an interface between legacy software applications and a wireless communication network. The present invention achieves the above accomplishment by providing for virtual communication ports that associate with a particular functionality and not a specific device or piece of hardware.
Specifically, the present invention discloses a software method that creates and manages virtual serial communication ports. The virtual ports are presented to legacy applications and an operating system in a computer system as a serial communication ports having a UART device. An interface application ensures legacy application compatibility with the wireless communication standard, including a Bluetooth communication standard. The virtual serial ports may be dynamically created or detected by user selection of desired functionality.
The interface application converts outgoing data from the legacy application into a format associated with the Bluetooth communication standard. The interface application converts incoming data from a format compatible with the wireless communication standard to a format compatible with a bus and the legacy application located on the computer system.
The device stack associated with the virtual serial communication port includes a virtual port functional device object (FDO), in accordance with one embodiment of the present invention. This FDO represents the virtual port to a driver of the virtual port that is contained in the interface device. The virtual port provides basic port management of the virtual port but passes all communication calls to the parent virtual bus driver associated with the interface device. Also included in the device stack of the virtual port is a physical device object (PDO) that represents a physical device on the virtual bus located on the local computer system containing the legacy application.
The device stack associated with the interface device that is hardware based includes a interface device FDO, in accordance with one embodiment of the present invention. This FDO represents the interface device to a driver of the interface device. Also included in the device stack of the interface device is a PDO that represents the interface device to a bus located on the local computer system containing the legacy application.
The interface device is capable of supporting multiple virtual serial communication ports. Each of the virtual ports emulate a serial communication port for a wired connection that includes a UART device. The integrated interface device is capable of mapping incoming and outgoing data to the particular virtual serial communication port.